package com.tjec.project.businessWorkbench.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.tjec.framework.aspectj.lang.annotation.Excel;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.tjec.framework.web.domain.BaseEntity;
import com.tjec.project.businessWorkbench.dto.BmsAttachmentDto;

import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 * 资料归档对象 bms_business_doc_archive
 * 
 * @author pangyongfeng
 * @date 2020-05-18
 */
public class BmsBusinessDocArchive extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 业务ID 业务ID */
    private String businessId;

    /** 归档文件 归档文件 */
    @Excel(name = "归档文件")
    private String name;

    /** 是否必须 是否必须（0否，1是） */
    @Excel(name = "是否必须", readConverterExp = "0=否,1=是")
    private String mustFlag;

    /** 最迟归档日期 最迟归档日期 */
    //@Excel(name = "最迟归档日期", width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date lastDate;

    /** 资料来源 资料来源（0收资管理，1项目文档，2上传） */
    //@Excel(name = "资料来源", readConverterExp = "0=收资管理,1=项目文档,2=上传")
    private String source;

    /** guid */
    private String guid;
    
    /** type */
    private String type;
    
    /** fileName */
    private String fileName;
    
    /** storagePath */
    private String storagePath;
    
    private String shape;
    
    public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	public String getStoragePath() {
		return storagePath;
	}

	public void setStoragePath(String storagePath) {
		this.storagePath = storagePath;
	}

	/** attachmentId */
    private String attachmentId;
    
    @ApiModelProperty(value = "附件id数组")
    private ArrayList<String> attachmentIds;
    
    private List<AttachmentVo> attachmentVos;
    
    /** 附件对象 */
    private List<BmsAttachmentDto> attachments;

    private String  businessName;

    /**
     * 文件数量
     */
    private Integer counts;

    public Integer getCounts() {
        return counts;
    }

    public void setCounts(Integer counts) {
        this.counts = counts;
    }

    public String getBusinessName() {
        return businessName;
    }

    public void setBusinessName(String businessName) {
        this.businessName = businessName;
    }

    public ArrayList<String> getAttachmentIds() {
		return attachmentIds;
	}

	public void setAttachmentIds(ArrayList<String> attachmentIds) {
		this.attachmentIds = attachmentIds;
	}

	public List<BmsAttachmentDto> getAttachments() {
		return attachments;
	}

	public void setAttachments(List<BmsAttachmentDto> attachments) {
		this.attachments = attachments;
	}

	public void setBusinessId(String businessId) 
    {
        this.businessId = businessId;
    }

    public String getBusinessId() 
    {
        return businessId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setMustFlag(String mustFlag) 
    {
        this.mustFlag = mustFlag;
    }

    public String getMustFlag() 
    {
        return mustFlag;
    }
    public void setLastDate(Date lastDate) 
    {
        this.lastDate = lastDate;
    }

    public Date getLastDate() 
    {
        return lastDate;
    }
    public void setSource(String source) 
    {
        this.source = source;
    }

    public String getSource() 
    {
        return source;
    }
    public void setGuid(String guid) 
    {
        this.guid = guid;
    }

    public String getGuid() 
    {
        return guid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
        	.append("attachmentIds", getAttachmentIds())
            .append("businessId", getBusinessId())
            .append("name", getName())
            .append("mustFlag", getMustFlag())
            .append("lastDate", getLastDate())
            .append("source", getSource())
            .append("remark", getRemark())
            .append("type", getType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("guid", getGuid())
            .append("attachmentId", getAttachmentId())
            .append("attachments", getAttachments())
            .append("attachmentVos", getAttachmentVos())
            .append("fileName", getFileName())
            .append("storagePath", getStoragePath())
            .append("shape",getShape())
            .toString();
    }

	
	public String getAttachmentId() {
		return attachmentId;
	}

	public void setAttachmentId(String attachmentId) {
		this.attachmentId = attachmentId;
	}

	public List<AttachmentVo> getAttachmentVos() {
		return attachmentVos;
	}

	public void setAttachmentVos(List<AttachmentVo> attachmentVos) {
		this.attachmentVos = attachmentVos;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getShape() {
		return shape;
	}

	public void setShape(String shape) {
		this.shape = shape;
	}
}
